// 给axios配置统一基地址
axios.defaults.baseURL = 'https://hmajax.itheima.net';
// 正则
const username = /^[a-zA-Z0-9]{8,30}$/
const password = /^[a-zA-Z0-9]{6,30}$/
// 判断
function estimate(name, pas) {
    if (name == '' || pas == '') {
        return pxmu.toast('请填写内容');
    }
    if (!username.test(name) && !password.test(pas)) {
        return pxmu.toast('用户名密码格式不正确')
    }
}
// 登入注册封装
async function loginRegister(user, url) {
    try {
        let res = await axios({
            url: url,
            method: 'POST',
            data: user
        })
        if (res.data.code === '10004') {
            pxmu.toast(res.data.message)
            return
        }
        return res
    }
    catch (err) {
        console.log(err);
        pxmu.toast(err.response.data.message)
    }
}
// 退出登入
function Log_out() {
    document.querySelector('#logout').addEventListener('click', function (e) {
        e.preventDefault()
        pxmu.diaglog({
            content: {
                text: '您确定退出吗?',
            }
        }).then(function (res) {
            if (res.btn == 'right') {
                //点击了右侧按钮
                localStorage.removeItem('uname')
                localStorage.removeItem('token')
                window.location.href = 'login.html'
            } else {
                //点击了左侧按钮
            }
        });
    })
}
// 设置用户名
function setUserName() {
    let user = localStorage.getItem('uname')
    const name = document.querySelector('.username')
    if (user) {
        name.innerHTML = user
    } else {
        name.innerHTML = ''
    }
}
// 统一携带token
axios.interceptors.request.use(function (config) {
    // 可以通过headers，查看+设置请求头
    // config.headers['info'] = 'itheima666'
    // 每次发送请求，都会执行这个回调函数
    // console.log(config)
    // 在发送请求之前做些什么,比如: 统一设置token
    const token = localStorage.getItem('token')
    // console.log(token);
    // token存在，才携带
    if (token) {
        config.headers.Authorization = token
    }
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器，统一处理token过期
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    return response;
}, function (error) {
    // console.dir(error)
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么: 比如统一处理token失效
    // 统一处理token失效
    if (error.response.status === 401) {
        // 返回登录页
        setTimeout(() => {
            pxmu.toast('登录过期，请重新登录')
            location.href = 'login.html'
        }, 1000)
    }
    return Promise.reject(error);
});